home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1996 July / Macworld (1996-07).dmg / System 7.5 Update 2.0 / FileMaker Pro 3.0 CD Extras / FileMaker And Apple Events / Sample Applications / Creating Menus / Menu Database (.txt) next >
FileMaker Pro Database  |  1996-01-25  |  41KB  |  289 lines

  1. HBAM2016AUG95
  2. Pro 3.0
  3. Layouts.fm
  4. Keyboard
  5. Ireland
  6. !Databas.es
  7. dcdeefffghjklmmmmmnoqrsuvxz~
  8. }ywusrrtvy|
  9. ~~}~~
  10. ~|{z{{zyywvvwyyyyyxxxwwvvuuuuvvxyyyz{|~
  11. |zywwvutuuvvuvwxyyzz{||}~
  12. ~}||||{{zzyxwwxxyyyyxxxyyzzz{||||||{{zzyyxxwwwusqpmlkkklmmopqrsuvwxyz{|}~~~~~~~
  13. }zxvusrqqqrsuwyz|
  14. ~|{zzzzzz{|}~
  15. ~}|{{zyxwvutrrqrrstuvvvvvvvwwwwvvvwwxxxwvutsrqppoooooopqstwyz|}
  16. |zyxyz{}~
  17. HBAM3016AUG95
  18. Pro 2.0 - 2.1F!
  19. Pro 3.0
  20. x40-SCM
  21. , open the database, go under the Scripts menu and select 
  22. First Custom Menu Item
  23.  from the External menu. Choosing the  custom menu item will display a simple dialog telling you which menu item was selected.
  24. NOTE: 
  25. - Versions 1.1 of this example adds the quit handler to delete the custom menu items.
  26. -To be able to select a custom menu, a database must first be open.
  27. -Menus and menu items are objects that belong ]
  28. only to the FileMaker application object.  When creating the menu items with AppleScript, make sure that the 
  29. Create
  30.  event is directed at the application object as shown in the 
  31. Open MenuMaker applet
  32. Quit MenuMaker applet
  33. Open MenuMaker applet
  34. pplet
  35. InfoB
  36. Creating Custom Menus in FileMaker Pro Using AppleScript
  37. An example of how you can use Apple events and AppleScript to create custom menu items in FileMaker Pro.  
  38. [NOTE: This script assumes you are using version FileMaker Pro 3.0 or greater. It is also recommended that you have the following versions of software: System 7.1.1 or System 7.5; AppleScript 1.1]
  39. BACKGROUND
  40. FileMaker Pro allows you to create hierarchical menus and menu items that appear in a menu called 
  41. External
  42.  within the
  43. hat appear in a menu called 
  44. External
  45.  within the
  46. lPATH
  47. Yalis
  48. AYPENNYFARTHING:APPLICATIONS:APPLESCRIPT:SAMPLE SCRIPTS:CREATING CUSTOM MENUS:NEW:MENUMAKER
  49.     MenuMaker
  50. Pennyfarthing
  51.     MenuMaker
  52.  APPLaplt
  53. YPennyfarthing:ApplicatioB
  54. ns:AppleScript:Sample Scripts:Creating Custom Menus:New:MenuMaker
  55. SCW-InfoMgmt
  56. Alexander Broquet's Mac
  57. Pennyfarthing
  58. Alexander Broquet
  59. Create Menu
  60. Create MenuB
  61. Create MenuB
  62. This file shows an example of how you can use Apple events and AppleScript to create custom menu items in FileMaker Pro.  
  63. To see how this works, go under the Scripts menu and select 
  64. First Custom Menu Item
  65.  from the External menu. Choosing the  custom menu item will display a simple dialog telling you which menu item was selected.
  66. An applet called 
  67. MenuMaker
  68.  is responsible for creating the menu items and handling them.  For more information, click on the 
  69.  button.
  70. InfoF5Creating Custom Menus in FileMaker 
  71. using AppleScript menu. Choosing the  custom menu item will display a simple dialog telling you which menu item was selected.
  72. An applet called 
  73. MenuMaker
  74.  is responsible for creating the menu items and handling them.  For more information, click on the 
  75.  button.
  76. ander Broquet
  77.  Scripts menu.  This allows you to send commands to an application you have developed or to an applet created with AppleScript.  In order for the technique to work, you send an Apple event to the FileMaker Pro application that creates the menu item. When an end-user selects the menu item, FileMaker Pro sends a 
  78. Menu Selected
  79.  event to the application that created it.  That means your application or applet needs to be able to receive and handle this Apple event.
  80. For more information on men
  81. us and menu items, see the 
  82. Apple Events Reference
  83.  database located in the FileMaker and Apple Events folder of the FileMaker Pro application folder.
  84. CREATING THE SCRIPT
  85. For this example, we will create two menu items.  Selecting one of the custom menu items will display a simple dialog saying which menu item was chosen. To do this, first create a script with the AppleScript Script Editor called 
  86. MenuMaker
  87.  and save it as an application (check the options to 
  88. Stay open
  89.  and 
  90. Never show 
  91. startup screen
  92. ). Here is the entire script:
  93. --create the menu items
  94. tell application "FileMaker Pro"
  95.  Create Menu Item With Properties {Name:"First Custom Menu Item", ID:111, Enabled:true}
  96.  Create Menu Item With Properties {Name:"Second Custom Menu Item", ID:222, Enabled:true}
  97.  activate
  98. end tell
  99. --handle the menu items
  100. event kMENkMIS
  101.  menuName
  102.  tell me to activate
  103.  if menuName = "First Custom Menu Item" then
  104.   display dialog "First menu item was selected
  105.  else if menuName = "Secon
  106. d Custom Menu Item" then
  107.   display dialog "Second menu item was selected
  108.  end if
  109.  tell application "FileMaker Pro" to activate
  110. event kMENkMIS
  111. --delete the menu items
  112. on quit
  113.  tell application "FileMaker Pro"
  114.   Delete Menu Item "First Custom Menu Item"
  115.   Delete Menu Item "Second Custom Menu Item"
  116.  end tell
  117.  continue quit
  118. end quit
  119. Next, create a ScriptMaker script in FileMaker called 
  120. Open MenuMaker applet
  121.  that uses the 
  122. Send Apple Event
  123.  command to send an 
  124. Open Application
  125. Back to Example
  126. display a simple dialog telling you which menu item was selected.
  127. NOTE: 
  128. - Versions 1.1 of this example adds the quit handler to delete the custom menu items.
  129. -To be able to select a custom menu, a database must first be open.
  130. -Menus and menu items are objects that belong only to the FileMaker application object.  When M
  131. creating the menu items with AppleScript, make sure that the 
  132. Create
  133.  event is directed at the application object as shown in the 
  134. Back to Example
  135. Alexander Broquet
  136. menu item. When an end-user selects the menu item, FileMaker Pro sends a 
  137. Menu Selected
  138.  event to the application that created it.  That means your application or applet needs to be able to receive and handle this Apple event.
  139. For more information on men
  140. us and menu items, see the 
  141. Apple Events Reference
  142.  database located in the FileMaker and Apple Events folder of the FileMaker Pro application folder.
  143. CREATING THE SCRIPT
  144. For this example, we will create two menu items.  Selecting one of the custom menu items will display a simple dialog saying which menu item was chosen. To do this, first create a script with the AppleScript Script Editor called 
  145. MenuMaker
  146.  and save it as an application (check the options to 
  147. Stay open
  148.  and 
  149. Never show 
  150. enu was selected. In this example, we simply display a dialog that tells which menu was selected. Finally we return the focus back to FileMaker using the activate command.
  151. Finally, the quit handler tells FileMaker Pro to delete the custom menus when the MenuMaker applet receives a quit event.
  152. RUNNING THE SCRIPT
  153. To see how this works, open the database, go under the Scripts menu and select 
  154. First Custom Menu Item
  155.  from the External menu. Choosing the  custom menu item will display a simpl
  156. re dialog telling you which menu item was selected.
  157. NOTE: 
  158. -To be able to select a custom menu, a database must first be open.
  159. -Menus and menu items are objects that belong only to the FileMaker application object.  When creating the menu items with AppleScript, make sure that the 
  160. Create
  161.  event is directed at the application object as shown in the object hierarchy.
  162. ker called 
  163. Open MenuMaker applet
  164.  that uses the 
  165. Send Apple Event
  166.  command to send an 
  167. Open Application
  168. ivate command is used to make sure FileMaker is in the foreground.
  169. Handle the menu items
  170.   section of the script is designed to receive and handle the  "Menu Selected" event which has a class ID of "kMEN" and an event ID of "kMIS".  When an external menu item is selected, FileMaker sends this event to the applet along with the name of the menu item chosen.  The handler in the applet stores the name of the menu item in a variable called "menuName".  
  171. Although it is not widely documen
  172. ted, AppleScript has the ability to process 
  173.  Apple events within an applet.  To do this you create a handler using the 
  174.  syntax, followed by the word 
  175. event
  176. , the class ID and the event ID - all enclosed within chevrons.  To create the chevron characters 
  177. , use option-\ and shift-option-\.
  178. tell me to activate
  179.  statement brings the applet to the foreground so the dialog will be visible and active. Next,  an "If" statement is used to take different actions depending on which m
  180. nt to the 
  181. MenuMaker
  182.  applet.  The options for 
  183. Bring target application to foreground
  184.  and 
  185. Wait for event completion before continuing
  186.  should not be checked. 
  187. Finally, select Preferences
  188.  from the File menu, click on Document, and select the 
  189. Open MenuMaker applet
  190.  script to perform upon startup.  This ensures that the menu items are always available when the database is in use.  It also makes the processing of the menu commands quick and direct because the applet is already open.
  191. W IT WORKS
  192. The "Create" event which appears on the third and fourth lines of the script is used to make a new menu item which appears under the "External" menu of the "Scripts" menu.  Use the "with properties" modifier to specify the name, ID (a number you choose), and the enabled property. The enabled property allows you to determine when the menu item is available to the end-user.  Setting this property to true enables the menu item, making it appear in bold in the External menu. The act
  193. Sunday
  194. Monday
  195. Tuesday
  196.     Wednesday
  197. Thursday
  198. Friday
  199. Saturday
  200. January
  201. February
  202. March
  203. April
  204. August
  205.     September
  206. October
  207. November
  208. December
  209. 1st Quarter
  210. 2nd Quarter
  211. 3rd Quarter
  212. 4th Quarter
  213. aevtoapp
  214. Quit MenuMaker applet
  215. aevtquit
  216. Yesfter
  217. Noarter
  218. Yesfter
  219. Noarter
  220. Yesfter
  221. Noarter
  222. an are invaluable learning and 
  223. Alexander Broquet
  224. an are invaluable learning and 
  225. Alexander Broquet
  226. an are invaluable learning and 
  227. Alexander Broquet
  228. ffff 
  229. an are invaluable learning and 
  230. Alexander Broquet
  231. ffff 
  232. an are invaluable learning and 
  233. Alexander Broquet
  234. ff33 
  235. UUUUUU 
  236. Alexander Broquet
  237. ffff 
  238. Alexander Broquet
  239. ffff 
  240. Alexander Broquet
  241. ff33 
  242. UUUUUU 
  243. Alexander Broquet
  244. Alexander Broquet
  245. Alexander Broquet
  246. Alexander Broquet
  247. FPTHAYPENNYFARTHING:APPLICATIONS:APPLESCRIPT:SAMPLE SCRIPTS:CREATING CUSTOM MENUS:NEW:MENUMAKER
  248. MSPCA
  249. NAMEA
  250.     MenuMaker
  251. FPTHA{Rickenbacker:Desktop Folder:Apple Events Examples:Apple Events Examples:Sample Applications:Creating Menus:MenuMaker Applet
  252. MSPCA
  253. NAMEA
  254. MenuMaker Applet
  255. 12/4/95
  256. DESCRIPTION
  257. DescriptionB
  258. lPATH
  259. ealis
  260. AeWOODEN SHAMPOO:DESKTOP FOLDER:TRAINING:FM AS EXERCISES:SEND APPLE EVENT EXAMPLE:APPLET WITH 
  261.  HANDLER
  262.     Helvetica
  263. Geneva
  264. Courier
  265. /RPTH
  266. FPTHA/Daffy:FileMaker Pro 3.0 folder:MenuMaker Applet
  267. MSPCA
  268. NAMEA
  269. MenuMaker Applet
  270. RPTHA
  271. ::::MenuMaker Applet
  272. ,RPTH
  273. FPTHA,Daffy:FileMaker Pro 3.0 xxx:MenuMaker Applet
  274. MSPCA
  275. NAMEA
  276. MenuMaker Applet
  277. RPTHA
  278. ::::MenuMaker Applet
  279. PowerBook
  280. Rickenbacker
  281. Alexander Broquet
  282. /RPTH
  283. FPTHA/Daffy:FileMaker Pro 3.0 folder:MenuMaker Applet
  284. MSPCA
  285. NAMEA
  286. MenuMaker Applet
  287. RPTHA
  288. ::::MenuMaker Applet
  289.